//(function($){})(jQuery)定义了一个匿名函数，其中jQuery代表这个匿名函数的实参。通常用在JQuery插件开发中，起到了定义插件的私有域的作用。

//step01定义jQuery作用域
(function ($) {
    //step02插件的扩展方法名
    $.fn.extend({
        'accoridion': function (options) {
            //step03-a定义默认属性
            var defaultSetting={
                open:false
            }
            //step03-b合并用户自定义属性,默认属性
            var settings = $.extend({}, defaultSetting, options);
            //step04支持jQuery选择器
            //step05支持链式调用  为了能达到链接调用的效果必须要把循环的每个元素return
            return this.each(function () {
                var dts = $(this).children('dt');
                //step06-b在插件里定义方法
                dts.click(onClick);
                dts.each(reset);
                if (settings.open) {
                    $(this).children('dt:first-child').next().show()
                };
            });
            //step06-a在插件里定义方法
            function onClick() {
                $(this).siblings('dt').each(hide);
                $(this).next().slideDown('fast');
                return false;
            }

            function hide() {
                $(this).next().slideUp('fast');
            }

            function reset() {
                $(this).next().hide();
            }
        }
    })
})(jQuery)

